
'''
在内存中存储的数据可以有多种类型。

例如，一个人的年龄可以用数字来存储，他的名字可以用字符来存储。

Python 定义了一些标准类型，用于存储各种类型的数据。

Python有五个标准的数据类型：

Numbers（数字）
String（字符串）
List（列表）
Tuple（元组）
Dictionary（字典）

Python支持四种不同的数字类型：

int（有符号整型）
long（长整型，也可以代表八进制和十六进制）
float（浮点型）
complex（复数）

'''
counter = 100# 赋值整型变量
miles = 1000.0;# 浮点型
name = "John" # 字符串
 
print (counter)
print (miles)   ;
print (name)

a = b = c = 1
print (a+b+c);
a, b, c = 1, 2, "john"
print (c);
print (c+"12");





'''
python的字串列表有2种取值顺序:

从左到右索引默认0开始的，最大范围是字符串长度少1
从右到左索引默认-1开始的，最大范围是字符串开头

a   b   c   d   e    f   g
0   1   2   3   4    5   6
-7  -6  -5  -4  -3  -2  -1

'''
print ("-------------------------字符串---------------------" )
str = 'abcdefg'
 
print (str)           # 输出完整字符串
print (str[0])        # 输出字符串中的第一个字符
print (str[2:5])     # 输出字符串中第三个至第六个之间的字符串
print (str[2:])    # 输出从第三个字符开始的字符串
print (str * 2 )   # 输出字符串两次
print (str + "TEST")  # 输出连接的字符串


a = "Hello"
b = "Python"
 
print ("a + b 输出结果：", a + b )
print ("a * 2 输出结果：", a * 2 )
print ("a[1] 输出结果：", a[1] )
print ("a[1:4] 输出结果：", a[1:4] )


'''
List（列表） 
列表中值的切割也可以用到变量 [头下标:尾下标] ，
就可以截取相应的列表，从左到右索引默认 0 开始，从右到左索引默认 -1 开始，下标可以为空表示取到头或尾。
'''
print ("-------------------------List（列表） ---------------------" )

list = [ 'runoob', 786 , 2.23, 'john', 70.2 ]
tinylist = [123, 'john']
 
print (list)               # 输出完整列表
print (list[0])            # 输出列表的第一个元素
print (list[1:3])          # 输出第二个至第三个元素 
print (list[2:] )          # 输出从第三个开始至列表末尾的所有元素
print (tinylist * 2)       # 输出列表两次
print (list + tinylist)    # 打印组合的列表



'''
元组是另一个数据类型，类似于 List（列表）。

元组用 () 标识。内部元素用逗号隔开。但是元组不能二次赋值，相当于---只读列表---。

'''
# 内部元素用逗号隔开。但是元组不能二次赋值，相当于只读列表。
tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 )
list = [ 'runoob', 786 , 2.23, 'john', 70.2 ]
# tuple[2] = 1000    # 元组中是非法应用
list[2] = 1000     # 列表中是合法应用



'''
# 列表是有序的对象集合，字典是无序的对象集合。

# 两者之间的区别在于：字典当中的元素是通过键来存取的，而不是通过偏移存取。

# 字典用"{ }"标识。字典由索引(key)和它对应的值value组成。
'''
dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"
 
tinydict = {'name': 'runoob','code':6734, 'dept': 'sales'}
 
 
print (dict['one'])          # 输出键为'one' 的值
print (dict[2])              # 输出键为 2 的值
print (tinydict)             # 输出完整的字典
print (tinydict.keys())      # 输出所有键
print (tinydict.values() )   # 输出所有值